package com.wins.litemall.api;

import io.restassured.response.Response;

import static io.restassured.RestAssured.given;

// 业务模块： 货品相关

public class GoodsApi extends BaseLitemallApi{
    // 问题： 如果传入的数据格式必须是json，如果把object转换为json（选修）
    // 解决方案： 使用jackson直接转换即可
//        ObjectMapper objectMapper = new ObjectMapper();
//        try {
//            System.out.println(objectMapper.writeValueAsString(cartModel));
//        } catch (JsonProcessingException e) {
//            throw new RuntimeException(e);
//        }



    public Response create(String goodsData){

        String addProductUrl = "/admin/goods/create";
        return given().filter(filter).body(goodsData)
                .when().post(addProductUrl);

    }

    public void detele(Integer id){

        String deleteUrl = "/admin/goods/delete";
        String deleteData = "{\"id\":"+id+"}";
        given().filter(filter).body(deleteData)
                .when().post(deleteUrl)
                .then().statusCode(200);
    }

    public String get(String goodsSn){
        String getProductUrl = "/admin/goods/list";
        return given().filter(filter).param("goodsSn",goodsSn)
                .when().get(getProductUrl)
                .then().extract().body().asString();
    }

    public void update(){

    }

    public String getDetail(Integer goodsId){
        String detailUrl = "/admin/goods/detail";
//                .then().extract().path("data.products[0].id");
        return given().filter(filter).param("id", goodsId)
                .when().get(detailUrl).then().extract().body().asString();
    }

}

